<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /*
            基本数据类型：number string boolean null undefined symbol
            引用数据类型: object array function


            基本数据类型和引用数据类型的区别：
            基本数据类型的值存储在栈中 引用数据类型的值存储在堆中 
        */


        // var a = '张三'


        // var b = a

        // b = "李四"

        // console.log(a) //张三


        

        // var obj2 = obj

        // obj2.name = "李四"

        // console.log(obj)

        // 判断数据类型的方法
        // function show() {

        // }
        // var obj = new Object()
        // var obj = {
        //     name: '张三'
        // }
        // var arr = [1, 2, 3]

        // var change = null
        // console.log(typeof(null))
        // console.log(typeof(123), typeof('德玛夏雨'), typeof(undefined))
        // console.log(typeof(show), typeof(arr), typeof(obj))
        // typeof无法区分 null arr obj的数据类型
        // console.log(arr instanceof Array)
        // console.log(obj instanceof Object)
        // console.log(change instanceof Object)

        // var str = new String('123')

        // function Person() {

        // }
        // Person.prototype = new Array()
        // var person = new Person()
        // console.log(person)
        // console.log(person.__proto__.__proto__.constructor == Object)

        // var obj = {
        //     name: '张三'
        // }
        // var arr = [1, 2, 3]
        // var num = 123
        // function show() {

        // }
        // object array number string function
        // console.log(obj.constructor == Object)
        // console.log(arr.constructor == Array)
        // console.log(num.constructor == Number)
        // console.log(show.constructor == Function)

        // console.log(show.prototype)
        var num = 123
        var str = '德玛西亚'
        var change = null
        console.log(Object.prototype.toString.call(change) == '[object Null]')

        // jq中判断数据类型的方法 $.type()
            var arr = [1, 2, 3]
            console.log(Array.isArray(arr))
            console.log(change === null)
    </script>  
</body>
</html>